package test;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;

import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;

import com.hankcs.textrank.TextRankKeyword;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;

import pdfreader.IOUtility;

public class test {
	
	public String GetTextFromPdf(String filename) throws Exception{
		FileInputStream instream = new FileInputStream(filename);    // 根据指定文件创建输入流
		PDFParser parser = new PDFParser( instream );                // 创建PDF解析器
		parser.parse();                                              // 执行PDF解析过程
		PDDocument pdfdocument = parser.getPDDocument();             // 获取解析器的PDF文档对象
		PDFTextStripper pdfstripper = new PDFTextStripper();         // 生成PDF文档内容剥离器
		String contenttxt = pdfstripper.getText(pdfdocument);        // 利用剥离器获取文档
		System.out.println("文件长度 : "+ contenttxt.length() +"\n");
		return contenttxt;
	}
	
	
	public static void inspect(String filename) throws IOException {
		PdfReader reader = new PdfReader(filename); //读取pdf所使用的输出流
		int num = reader.getNumberOfPages();//获得页数
		String content = "";  //存放读取出的文档内容
		for (int i = 1; i < num; i++) {
			content += PdfTextExtractor.getTextFromPage(reader, i); //读取第i页的文档内容
		}
		System.out.println(content);
	}
	
	public static void main(String[] args){
		test tst = new test();
		try {
			tst.inspect("E:\\Articles.pdf");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
//		IOUtility io = new IOUtility();
//		io.getTextFromPDF("E:\\Articles.pdf");
//		try{
//			String doctext = tst.GetTextFromPdf("E:\\Articles.pdf");
//			System.out.println("文件内容 : ");   
//			System.out.println(doctext);
//			System.out.println("文件结束 . ");   
//		} catch(Exception e){
//			e.printStackTrace();
//		}
	}

}
